<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
  <link href="https://gmpg.org/xfn/11" rel="profile">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="Hugo 0.68.3" />

  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>第六篇文章 &middot; 我的博客</title>
  <meta name="description" content="" />

  
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/print.css" media="print">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/poole.css">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/syntax.css">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/hyde.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">


  
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
  <link rel="shortcut icon" href="/favicon.png">

  
  
</head>

  <body class="theme-base-0self ">
  <aside class="sidebar">
  <div class="container sidebar-sticky">
    <div class="sidebar-about">
      <a href="/my_technology_blog/"><h1>我的博客</h1></a>
      <p class="lead">
       这里是田帅康的个人博客 
      </p>
    </div>

    <nav>
      <ul class="sidebar-nav">
        <li><a href="/my_technology_blog/">Home</a> </li>
        
      </ul>
    </nav>

    <p>&copy; 2020. All rights reserved. </p>
  </div>
</aside>

    <main class="content container">
    <div class="post">
  <h1>第六篇文章</h1>
  <time datetime=2020-04-09T00:00:00Z class="post-date">Thu, Apr 9, 2020</time>
  <h2 id="redis">Redis</h2>
<p>Redis的基本数据类型：<br>
1.String（字符串）<br>
2.Hash（哈希）<br>
3.List（列表）<br>
4.Set（集合）<br>
5.Zset（有序集合）</p>
<h3 id="string">String：</h3>
<p>string是redis的最基本数据类型，key-value格式，实际上是一个数据结构服务器，支持不同类型的值（二进制字符串，链表，集合，哈希表，等等）<br>
首先用Set和Get进行存储和取出<br>
<img src="/my_technology_blog/001.png" alt=""><br>
INCR指令<br>
将字符串值解析成整型，将其加一，最后将结果保存为新的字符串值<br>
<img src="/my_technology_blog/002.png" alt=""><br>
mset，mget<br>
一次存放多个值，一次取出多个值
<img src="/my_technology_blog/003.png" alt=""><br>
Del删除键的值（删除成功返回1否则返回0），Exists查询键值是否存在（存在则返回1不凡则0）<br>
Type查询类型<br>
<img src="/my_technology_blog/004.png" alt=""><br>
Expire：设置Key的存活时间<br>
<img src="/my_technology_blog/005.png" alt=""></p>
<h3 id="list">List：</h3>
<p>Redis列表是简单的字符串列表，按照插入顺序排序。你可以添加一个元素到列表的头部（左边）或者尾部（右边）<br>
一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)<br>
lpush:从左边插入，rpush:从右边插入，lrange，遍历一定范围的值，从左边开始为0，负数代表从尾部象前数<br>
<img src="/my_technology_blog/006.png" alt=""></p>
<h3 id="hash">Hash：</h3>
<p>Redis hash 是一个string类型的field和value的映射表，hash特别适合用于存储对象。<br>
Redis 中每个 hash 可以存储 232 - 1 键值对（40多亿）<br>
Hash 便于表示 objects，实际上，你可以放入一个 hash 的域数量实际上没有限制（除了可用内存以外）。所以，你可以在你的应用中以不同的方式使用 hash。<br>
HMSET 指令设置 hash 中的多个域，而 HGET 取回单个域。HMGET 和 HGET 类似，但返回一系列值：<br>
<img src="/my_technology_blog/007.png" alt=""></p>
<h3 id="set">Set:</h3>
<p>Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的，这就意味着集合中不能出现重复的数据<br>
Redis 中集合是通过哈希表实现的，所以添加，删除，查找的复杂度都是 O(1)。<br>
集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)<br>
Redis Set 是 String 的无序排列。SADD 指令把新的元素添加到 set 中。对 set 也可做一些其他的操作，比如测试一个给定的元素是否存在，对不同 set 取交集，并集或差，等等<br>
<img src="/my_technology_blog/008.png" alt=""></p>
<h3 id="zset有序集合">Zset(有序集合)：</h3>
<p>Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。<br>
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。<br>
有序集合的成员是唯一的,但分数(score)却可以重复。<br>
集合是通过哈希表实现的，所以添加，删除，查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。通过zadd去添加，给每个value前添加一个score,最后根据score来进行排序<br>
<img src="/my_technology_blog/009.png" alt=""></p>

</div>


    </main>

    
      
    
  </body>
</html>
